<template>
    <div>
        <musicPage :musicObj="musicObj" :musicUrl="musicUrl" />
    </div>
</template>
<script>
import musicPage from '../../components/musicPage'
import { getmusicInfo, getmusicLyric, getMusicComment, getMusicUrl } from '../../api/musicInfo'


export default {
    components: {
        musicPage
    },
    data() {
        return {
            musicObj: {
                isMusicDetail: true,
                // 封面图
                coverImgUrl: '',
                // 标题
                title: '',
                // 歌单简介
                sheetDesc: '',
                // 创建者
                creatorInfo: {},
                // 歌词数据
                lyricList: '',
                // 歌单评论
                hotComments: [],
                // 评论总数
                commentTotal: 10
            },
            // 歌曲URL
            musicUrl: '',
            isShow: true
        }
    },
    created() {
    },
    computed: {
    },
    methods: {
        // 自定义节流函数
        // debounce(fn, wait) {
        //     var timer = null;
        //     return function () {
        //         if (timer !== null) {
        //             clearTimeout(timer);
        //         }
        //         timer = setTimeout(fn, wait);
        //     }
        // }
    },
    async mounted() {
        // 获取歌曲图片以及名称信息
        getmusicInfo({ ids: 1392761462 }).then((res) => {
            this.musicObj.coverImgUrl = res.songs[0].al.picUrl
            this.musicObj.title = res.songs[0].name
            this.musicObj.sheetDesc = res.songs[0].name
            this.musicObj.creatorInfo = {
                avatarUrl: res.songs[0].al.picUrl,
                nickname: res.songs[0].al.name
            }
        })
        // 获取歌曲歌词信息
        getmusicLyric({ id: 1392761462 }).then((res) => {
            let lyricArr = res.lrc.lyric.split('[').slice(1); // 先以[进行分割
            let lrcObj = {};
            lyricArr.forEach(item => {
                let arr = item.split(']');	// 再分割右括号
                // 时间换算成秒
                let m = parseInt(arr[0].split(':')[0])
                let s = parseInt(arr[0].split(':')[1])
                arr[0] = m * 60 + s;
                if (arr[1] != '\n') { // 去除歌词中的换行符
                    lrcObj[arr[0]] = arr[1];
                }
            })
            this.musicObj.lyricList = lrcObj
        })
        // 获取歌曲评论
        getMusicComment({ id: 1392761462, pageSize: 10, pageNo: 1, sortType: 2, type: 0 }).then((res) => { this.musicObj.hotComments = res.data.comments })
        // 获取歌曲Url
        await getMusicUrl({ id: 1392761462 }).then((res) => { this.musicUrl = res.data[0].url })

        // 获取当前播放时间
        // console.log(this.$refs.audio.currentTime);
        // var obj = this.musicObj.lyricList
        // console.log(this.musicObj.lyricList['0']);
        // for (let key in obj) {
        //     console.log(key);
        // }
        // Object.keys(obj).foreach((value, key) => {
        //     console.log(key, value)
        // })



        // 避免窗口在变动时出现昂贵的计算开销。
        // jQuery(window).on('resize', _.debounce(calculateLayout, 150));



    }
}
</script>
<style scoped>
</style>
